/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.wider.foundation.channel;

import com.wider.foundation.Named;
import com.wider.foundation.concurrency.Cancellable;
import com.wider.foundation.concurrency.Joinable;
import java.io.IOException;
import java.io.InputStream;

/**
 * This interface defines a standard for describing a Request running over any <code>NetChannel</code>
 * Users who use the implementation of this interface
 *
 * @author William Choi <avextk@gmail.com>
 */
public interface NetChannelRequest extends Named, Cancellable, Joinable, Runnable{
    public boolean isCompleted();
    public int getResponseCode();
    public String getResponseMessage();
    public InputStream getInputStream() throws IOException;
}
